____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Lockstep (Computertechnik)
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Der Begriff Lockstep beschreibt im Bereich der Computertechnik, insbesondere bei Prozessoren und Mikrokontrollern, eine Methode zur Fehlertoleranz und Fehlererkennung in der Hardware, welche durch den Einsatz mehrerer gleicher oder gleichartiger Einheiten wie CPU-Kerne in Mehrkernprozessoren erreicht wird.cite-ref-lit1-1-0[1] Der Name des Verfahrens leitet sich von dem Begriff englisch lockstep marching ab, einem bei MilitΓ€r und in manchen GefΓ€ngnissen anzutreffenden engen Gleichschritt. Prozessoren im Lockstepbetrieb, wie beispielsweise darauf ausgelegte ARM Cortex-R oder die Serie MPC57xx PowerPC-Prozessoren, werden vor allem in sicherheitskritischen Anwendungen wie Motorsteuerungen (ECU) von Fahrzeugen und in autonomen Triebwerksregelungen (FADEC) von Flugzeugen eingesetzt.
Contents
β’ Verfahren
β’ Literatur
β’ Einzelnachweise
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Verfahren
Der Prozessoraufbau Γ€hnelt bei Lockstep den von Parallelrechnern, allerdings dient die Parallelschaltung nicht der Leistungssteigerung der Rechenleistung, sondern alle CPU-Kerne arbeiten das exakt gleiche Programm oder den gleichen Algorithmus ab. Die Kontrolle und Bewertung durch Vergleich der Ergebnisse der einzelnen CPU-Kerne erfolgt daran anschlieΓend in einzelnen, zeitlich engen und nicht unterbrechbaren Schritten (englisch step). Durch die so erzielte Redundanz lassen sich hardwareseitige AusfΓ€lle in einem der Prozessorkerne detektieren und darauf reagieren, wie dies bei einem Dual-Core im Lockstep-Betrieb der Fall ist, oder durch Mehrheitsentscheidungen Fehler nicht nur Erkennen, sondern in gewissen Umfang auch korrigieren, wie dies bei Triple-Core-Prozessoren bei einem Einzelfehler der Fall ist.
Um StΓΆrungen, welche auf alle parallel betriebenen Prozessorkerne gleichmΓ€Γig und gleichzeitig einwirken, dieser Fall wird als sogenannter Ausfall mit gemeinsamer Ursache bezeichnet, sicher erkennen zu kΓΆnnen, werden die einzelnen Prozessoren um einige wenige Taktzyklen zeitlich versetzt betrieben. Dadurch wirkt sich die gemeinsame StΓΆrungsursache in unterschiedlichen ZustΓ€nden der einzelnen Cores aus und lΓ€sst sich so im anschlieΓenden Vergleich der Ergebnisse als Abweichung feststellen.cite-ref-mpc5744-2-0[2]
Die Fehlererkennung beschrΓ€nkt sich bei diesem Verfahren auf die Erkennung und ggf. Korrektur von hardwarebedingten AusfΓ€llen im elektronischen Bauelement, auf Single Event Upsets (SEU) oder Latch-Up-Effekten in einen der CPU-Kerne oder im Bereich der getrennt ausgefΓΌhrten Stromversorgung. Systematische Fehler im Programmcode oder Entwicklungsfehler im Algorithmus lassen sich mit Lockstep grundsΓ€tzlich nicht erkennen oder kompensieren.
Literatur
β’ Hans-Leo Ross: Functional Safety for Road Vehicles: New Challenges and Solutions for E-mobility and Automated Driving. Springer, 2016, ISBN 978-3-319-33360-1.
β’ A. Avizienis, H. Kopetz, J.C. Laprie: The Evolution of Fault-Tolerant Computing. Springer Science & Business Media, 2012, ISBN 978-3-7091-8871-2.
Einzelnachweise
cite-note-lit1-11. β M. Baleani et al.: Fault-Tolerant Platforms for Automotive Safety-Critical Applications. International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), 30. Oktober 2003, archiviert vom Original (nicht mehr online verfΓΌgbar) am 9. August 2017; abgerufen am 8. MΓ€rz 2018 (Chapter 3: A Survey of Fault-Tolerant Multi-Processor Architectures). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprΓΌft. Bitte prΓΌfe Original- und Archivlink gemÀà Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/embedded.eecs.berkeley.edu
cite-note-mpc5744-22. β Safety Manual for MPC5744P. NXP (Firmenschrift), abgerufen am 17. MΓ€rz 2020 (Chapter 3.2: Dual-core lockstep).